基于docker的oracle安装
拉取镜像:
1 | docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g |
docker images
1 | 创建容器: |
docker run -d -p 1521:1521 –name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
1 | 这里说一下,命令后面的地址一定要是你下载的镜像地址也就是你拉取镜像名字,否则会出现名字已存在等问题! |
docker volume rm $(docker volume ls -qf dangling=true)
1 |
|
docker exec -it oracle11g bash
1 | 切换到oracle数据库的root |
su root
1 | 密码: |
helowin
1 | 编辑/etc/profile文件配置ORACLE环境变量 |
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=ORACLEHOME/bin:PATH
1 | 在最后加上 |
source /etc/profile
1 |
在pycharm的terminal中输入ls,提示bash: ls: command not found,无法使用Linux命令
是因为环境变量PATH被修改了
只需在命令行执行
export PATH=/bin:/usr/bin:$PATH
即可
1 | 创建软连接 |
ln -sf $ORACLE_HOME/bin/sqlplus /usr/bin
1 | 这里还要说一下,一定要写中间的内条 - 必须要,否则软连接无效 |
su oracle
1 |
|
sqlplus /nolog
conn /as sysdba
1 | 修改密码: |
alter user system identified by system;
alter user sys identified by sys;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
1 | 创建用户 |
create user test2 identified by test2;
1 | 并给用户赋予权限 |
grant connect,resource,dba to test2;
1 | 过程中出现的报错需要输入以下内容: |
输入:alter database mount;
输入:alter database open;
1 | 之后可进行退出用plsql进行链接,注意链接的实例为 helowinXDB |
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.0.2)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /home/oracle/app/oracle
1 | ## 附录 |
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1
2
安装yum-config-manager命令对应工具
sudo yum -y install yum-utils
1
添加软件源信息:
sudo yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1 | 更新 yum 缓存: |
sudo yum makecache fast
1 | 安装 Docker-ce: |
sudo yum -y install docker-ce
1
启动 Docker 后台服务
sudo systemctl start docker
1
测试运行
hello-world docker run hello-world
1
2由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。
查看docker的镜像
docker images
1
2在docker中安装与配置tomcat。
拉取镜像:
docker pull tomcat
1
2
3使用tomcat镜像
启动docker容器中的镜像:
例子:
docker run –name tomcat -p 5555:8080 -v /home/mengsheng/abc:/usr/local/tomcat/webapps/ -d tomcat
1
2
3
4
5
6-d:表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。 -d跟镜像名 tomcat
-p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 5555 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录> /home/mengsheng/abc 把自己的项目资源放到这个目录下,就相当于放到了tomcat中的usr/local/tomcat/webapps/
–name:表示容器名称,用一个有意义的名称命名即可。
查看镜像软件的运行情况:
docker ps
1
停止/运行tomcat软件容器: 5421指代id的前四位
docker stop/start 5421
1
移除docker中的软件容器
#docker rm 5421
移除掉docker中下载的镜像: